import Vue from "vue";
import App from "./App.vue";
import router from "./router";
import store from "./store";

import VueClipboard2 from "vue-clipboard2";
import Antd from "./antd";
import Icon from "./components/icon";
import i18n from "./locales";
import bootstrap from "./services/bootstrap";
import VueLazyload from "vue-lazyload";
import directives from "./utils/directives";
import mixins from "./utils/mixins";
import Empty from "./components/Empty";
import filters from "./utils/filters";
import bus from "./utils/eventBus";

import "./styles/index.less";

Vue.config.productionTip = false;

Vue.use(mixins);
Vue.use(VueClipboard2);
Vue.use(Antd);
Vue.use(Icon);
Vue.component("VEmpty", Empty);
Vue.use(VueLazyload, {
  loading: require("./assets/images/default.png")
});
Vue.use(directives);
Vue.use(filters);
Vue.prototype.$bus = bus;

new Vue({
  router,
  store,
  i18n,
  created: bootstrap,
  render: h => h(App)
}).$mount("#app");
